package com.herui.iot.data.report.source;

import com.herui.sdyu_lib.http.callback.Callback;
import com.herui.sport_care.data.eval.EvalHostoryInfo;
import com.herui.sport_care.data.report.EvaluatorAppEvaluationReportResponse;
import com.herui.sport_care.data.report.EvaluatorAppQueryEvaluationReportSingleResp;
import com.herui.sport_care.data.report.Report;
import com.herui.sport_care.data.report.ReportUser;
import com.herui.sport_care.data.report.TrendData;
import com.herui.sport_care.data.user.UserInfo;

import java.util.List;
import java.util.Map;

import retrofit2.http.Path;

/**
 * Created by amanda.shan on 2021/9/30.
 */
public interface ReportSource {

    /**
     * 获取历史报告列表
     * @param map
     * @param callback
     */
    void getReportList(Map<String, Object> map,
                       Callback.CommonCallback<List<Report>> callback);

    /**
     * 单项或综合报告下的人员列表
     * @param evaluationSchemeId    评估id
     * @param callback
     */
    void getReportUserList( Long evaluationSchemeId,
                            Callback.CommonCallback<List<ReportUser>> callback);

    /**
     * 单项报告详情
     * @param id        用户评估报告id
     * @param callback
     */
    void getEvaluationReportSingle( Long id,
                            Callback.CommonCallback<EvaluatorAppQueryEvaluationReportSingleResp> callback);

    /**
     * 综合报告详情
     * @param id        用户评估报告id
     * @param callback
     */
    void getEvaluationReportAll( Long id,
                                    Callback.CommonCallback<EvaluatorAppEvaluationReportResponse> callback);

    /**
     * 综合报告趋势图
     * @param betaDataId 评估数据id
     * @param callback
     */
    void getTrendData(Long betaDataId, Callback.CommonCallback<TrendData> callback);

    /**
     * 编辑报告
     * @param map
     * @param callback
     */
    void updateEvaluationReport(Map<String, Object> map, Callback.CommonCallback<String> callback);
}

